package br.uniriotec.pssgbd.trab.model.bo;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import br.uniriotec.pssgbd.trab.model.entidade.FaixaTemperatura;
import br.uniriotec.pssgbd.trab.model.entidade.Marca;

public class FaixaTemperaturaBO {

	protected PadraoBO dao = new PadraoBO();
	Connection connection;

	public FaixaTemperaturaBO(){
		try{
			connection = dao.criaConexao(false);
			
		}
		catch (Exception e){
			JOptionPane.showMessageDialog(null, ""+e.getMessage());
		}
	}
	
	public List<FaixaTemperatura> listar(){
		String sql = "select * from faixa_temperatura";
		List<FaixaTemperatura> faixas= new ArrayList<FaixaTemperatura>();
		
		try {
			Statement stmt = connection.createStatement();
			ResultSet rs = stmt.executeQuery(sql);

			
			while (rs.next()) {
				FaixaTemperatura faixa = new FaixaTemperatura();
				int id = rs.getInt("faixaid");
				faixa.setCodFaixa(id);
				double tmin = rs.getDouble("tempminima");
				faixa.setTemperaturaMinima(tmin);
				double tmax = rs.getDouble("tempmaxima");
				faixa.setTemperaturaMaxima(tmax);
				faixas.add(faixa);
			}
		} catch (SQLException e) {
			Exception erro = new Exception(e.getMessage());
		}
		
		return faixas;
	}
	
	public FaixaTemperatura recuperaFaixaTemperatura(Integer codFaixa) {
		String sql = "select * from faixa_temperatura where faixaid=?";
		PreparedStatement stmt = null;
		ResultSet rs = null;
		FaixaTemperatura faixa= null;
		
		try {
			stmt = connection.prepareStatement(sql);
			stmt.setInt(1, codFaixa);
			rs = stmt.executeQuery();
			
			if (rs.next()) {
				faixa = new FaixaTemperatura();
				faixa.setTemperaturaMinima(Double.parseDouble(rs.getString("tempminima")));
				faixa.setTemperaturaMaxima(Double.parseDouble(rs.getString("tempmaxima")));
				faixa.setCodFaixa(Integer.parseInt(rs.getString("faixaid")));
			}
		} catch (SQLException e) {
			Exception erro = new Exception("Erro ao recuperar a faixa de temperatura!");
		}
		
		return faixa;
		
	}
	
//	public static void main (String [] args){
//	FaixaTemperaturaBO u = new FaixaTemperaturaBO();
//	FaixaTemperatura rec = u.recuperaFaixaTemperatura(1);
//	System.out.println("TEMP MAX RECUP:"+rec.getTemperaturaMaxima());
//	}
	
}
